![]() |
![]() |
MOGUĆA POGREŠNA INTERPRETACIJA
REZULTATA
Kada primijenite funkciju unutar
jedne osi (redovi ili stupci) i dodajete nivo na neku drugu os, nema problema s
mogućom pogrešnom interpretacijom
rezultata.
Posebnu pozornost treba obratiti u
trenutku kada primijenimo funkciju na jednu os, a onda želimo dodati pojedinačni
element
na drugu ili istu
os.
Tip funkcije
… |
Dodavanje
pojedinačnog elementa ( | ||
Funkcije na osi
(vanjske) |
Redovi |
Stupci |
Filter |
Primijenjena na sve
članove svih dimenzija u redovima |
DA |
Moguća pogrešna
interpretacija |
DA |
Funkcije na
dimenzijama |
|
|
|
Primijenjena na
članove jedne dimenzije unutar redova |
Moguća pogrešna
interpretacija |
Moguća pogrešna
interpretacija |
DA |
Funkcije na
elementima |
|
|
|
Primijenjena na
pojedinačne elemente (jedan ili više) unutar
redova |
Moguća pogrešna
interpretacija |
Moguća pogrešna
interpretacija |
DA |
Sve gornje kombinacije u smislu MDX
naredbi su dozvoljene. Usprkos tome neke od njih mogu dovesti
do pogrešne interpretacije
rezultata. Evo primjera:
Primjer
1.
U prvom primjeru odredit ćemo 10
najboljih (TopCount) gradova u godini 2000.
Evo kako smo složili elemente u
dizajneru:
Rezultat je
Kao što možete vidjeti rezultati su
poredani silazno, što je jedna od karakteristika TopCount funkcije.
Primjer
2.
U ovom primjeru pokušat ćemo isto,
ali kako je korisniku ljepše vidjeti godine u stupcima, a ne u
oznaci filtra, dodat ćemo Year 2000 u stupce.
U ovom slučaju dizajner će izgledati
ovako:
Rezultat je:
Prvo možete zamijetiti da rezultat
nije poredan po vrijednostima.
Zatim, ako bolje pogledate vidjet ćete da
nekih gradova
iz primjera 1 nema na tablici u
primjeru 2 i obratno.
Primjer za to je Royal Oak koji ne
postoji na prvoj tablici.
Što je to što zapravo gledamo u
drugoj tablici?
Da demistificiramo to pitanje
umjesto Year 2000 u stupce stavite cijelu razinu
Year.:
Kad se rezultati prikažu prebacite
izgled tablice s Normalno na Sume:
Prvo ćete vidjeti da rezultati po
stupcima nisu poredani po vrijednosti, što je i očekivati jer je to nemoguće
(prikazati najbolje po svakoj godini
unutar iste tablice). No ako pogledate zadnji (plavi) stupac
koji
predstavlja zbroj po redovima,
vidjet ćete da su u njemu rezultati poredani po veličini.
To znači da je OLAP server prvo
izračunao najboljih deset gradova u ukupno vremenu
(na što ukazuje plavi stupac s
kumulativnim vrijednostima), a zatim
prikazao rezultate po svakoj godini
pojedinačno.
Dakle ovih deset gradova su najbolji
SAMO U UKUPNOM VREMENU, A NE U SVAKOJ GODINI
POJEDINAČNO.
Sada usporedite taj rezultat (za godinu 2000) s tablicom iz primjera 2.
Da! Rezultati su
identični.
To znači da ako NE stavimo
pojedinačni element (godina 2000) u filtar OLAP server će prvo izračunati
traženu
funkciju prema kriteriju filtra U
KOME SE NE NALAZI VRIJEME (osim ako taj kriterij nije ugrađen unutar same
funkcije),
a nakon toga će prikazati dobivenu
listu gradova (Najbolji u UKUPNOM vremenu) i što je bilo s tim gradovima
(kakvi su njihovi rezultati) u
godini 2000.
Ako STAVIMO godinu u filtar, tada će
izračunati najbolje gradove unutar konteksta filtra, a to je godina
2000.
More: